package com.ctsi.security;

import com.ctsi.security.domain.Permission;
import com.ctsi.security.domain.PermissionType;

import java.util.List;

public interface I_PermisionTypeExtend {
	/**
	 * 扩展id唯一标示一种扩展
	 */
	public String getId();
	
	/**
	 * 获得要扩展的跟类型
	 * @return
	 */
	public String getRoot();
	
	/**
	 * 根据类型父类型查找子类型
	 * @param parentId
	 * @param partyId
	 * @param loginId
	 * @return
	 */
	public List<PermissionType> getPermissionTypes(String parentId, String partyId, String loginId);
	
	/**
	 * 将扩展点下属 xpath传入获取扩展的功能权限，如果无需扩展原类型返回
	 * @return
	 */
	public List<Permission> getExtends(List<String> xpath, List<Permission> permlist);
	

}
